Text grid creation tools

ABSTRACT

Methods and apparatus, including computer program products, implementing and using techniques for controlling typesetting and layout editing ( 2   a ). Data being typeset or laid out are displayed on a display ( 3 ). A first menu ( 20 ) having a user-selectable first creation mode and second creation mode are displayed on the display ( 3 ) to create a new electronic document in accordance with a user-input control instruction. A second menu ( 21 ) having previously set values for grid parameters demarcating an appropriate layout grid ( 123 ) for the new electronic document is displayed if the user selects the first creation mode. A layout grid ( 123 ) is created on each page of the electronic document by receiving a user approval of the values set in the second menu ( 21 ). This eliminates the necessity of separately having to calculate page margins. Furthermore, when creating a frame grid ( 30 ) on a layout grid ( 123 ), or when changing its dimensions, the frame and grid are always automatically coordinated.

TECHNICAL FIELD

This invention relates to desktop publishing (DTP) technology, and moreparticularly to electronic typesetting and/or electronic layout editingtechnology.

BACKGROUND

In electronic typesetting various types of objects such as characters orgraphics are arranged in an electronic document (work region) that isdisplayed on a display device, such as a CRT or LCD. When typesetting anobject, reference lines known as a guide or grid are used as thestandard for arranging an object at a desired location in an electronicdocument. When setting these reference lines in an electronic document,the user must usually determine and input the dimensions of the marginregion in the electronic document in order to determine the electronicdocument's layout range. Although an electronic document is displayed onthe screen of a display device, precisely determining the margindimensions is an extremely difficult operation; the user is not alwaysable to set the desired margin at the first attempt, and must oftenattempt to set the margin a number of times. In addition, each time themargin is set it is necessary to calculate what the margin value shouldbe and in the preliminary stage of doing important typesetting andlayout processing this presents the user with operational difficulties.

Also, in prior art, when performing typesetting and layout processing onCJK (Chinese, Japanese, Korean) font characters, which are so-calledideographic characters, there is no guide or grid that can set referencelines that can be used to set individual typesetting and/or layoutattributes for each page of an electronic document, so it has beendifficult to efficiently and precisely perform typesetting and layoutprocessing with fine detail and flexibility.

In addition, in conventional electronic typesetting and layoutprocessing, an object, known as a frame grid is used to assign aplurality of characters (for example, CJK font characters) to anelectronic document in a specific arrangement. The frame grid moves theplurality of characters in the electronic document while keeping them inthe specific arrangement. However, a conventional frame grid does notautomatically coordinate the boundary line of the frame grid with thegrid in the electronic document, and is therefore inconvenient to use.

SUMMARY

In general, in one aspect, the invention provides methods and apparatus,including computer program products, implementing and using techniquesfor controlling typesetting and layout editing. Data being typeset orlaid out is displayed on a display. A first menu having auser-selectable first creation mode and second creation mode isdisplayed on the display if a new electronic document is created inaccordance with a user-input control instruction. A second menu that haspreviously set values for grid parameters demarcating an appropriatelayout grid for the new electronic document is displayed if the userselects the first creation mode. A layout grid is created in theelectronic document, by receiving a user input approving the values setin the second menu, without the necessity of the user separatelycalculating margins.

Implementations can include one or more of the following features. Datato be typeset or laid out can further be supplied to a desktoppublishing processing control device having a typesetting and layoutcontrol means. One layout grid may be created for each page of anelectronic document. The values in the second menu can determine atleast the layout grid dimensions and the starting point on the pagecorresponding to the layout grid. The layout grid can have severalcells, each cell being able to accommodate one character, and the celldimensions can have embox or ICF box dimensions corresponding to fontdimensions selected in the second menu. User inputs defining marginvalues for the new electronic document can be received if the userselects the second creation mode, and a layout grid can be created inthe electronic document based on the margin values.

In general, in another aspect, the invention provides methods andapparatus, including computer program products, implementing and usingtechniques for controlling typesetting and layout editing. Data isdisplayed during typesetting or layout processing on a display. A framegrid that provides a grid for demarcating several cells is created, thecells having the ability to keep the characters in a specificarrangement in order to arrange the characters on a page of anelectronic document displayed on the display, based on user input and aboundary line demarcating a region arranged on the page. The frame gridis processed when creating the frame grid, so that the boundary line isalways coordinated with cells at the edge of the frame grid.

Implementations can include one or more of the following features. Aframe grid region can be determined by a user input selecting a gridtool displayed on the display with a pointing device and dragging acursor a specified length on the page and the boundary line of the framegrid can be automatically coordinated with the plurality of cells sothat the boundary line c does not intersect any cell when the selectionstate using the pointing device is released and the new frame grid isformed. The frame grid region can be further changed by a user inputselecting a control point on a frame grid present on the page of anelectronic document displayed on the display screen with a pointingdevice, dragging the control point a specified length, and releasing theselection state using the pointing device, after which the boundary lineof the frame grid is automatically coordinated with the plurality ofcells so that the boundary line does not intersect any cell. The cellscan have a shape that is substantially square, and conforms to the emboxor ICF box corresponding to the character font and character dimensions.The typesetting and layout control means can have a named grid storagepart for storing a plurality of named grids, the grids being set withspecific grid parameter values, and a new frame grid can be createdbased on the grid parameter values of the selected named grid when theuser selects a desired named grid to create a new frame grid. A namedgrid palette containing a list of names of the plurality of named gridscan be displayed on the display. A layout grid demarcating the layoutreference on a page can be created on each page of the electronicdocument, the named grids can contain a named grid named “layout grid”,and a frame grid can be created based on the attributes of the layoutgrid formed on each page when the named grid named “layout grid” isselected.

Potential advantages of the invention may include one or more of thefollowing. A layout grid may be created efficiently and withoutcalculating page margins. A frame grid may be created and its dimensionsmay be changed to always coordinate the frame and the grid. A layoutgrid may be created and controlled on each page of an electronicdocument that can be used in electronic typesetting and layoutprocessing. A frame grid may be created or controlled that can easilyand swiftly execute electronic typesetting and layout processing.

The details of one or more implementations of the invention are setforth in the accompanying drawings and the description below. Otherfeatures, objects, and advantages of the invention will be apparent fromthe description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic block diagram showing a DTP processing system inaccordance with one implementation of the invention.

FIG. 2 is a schematic block diagram showing a DTP processing system inaccordance with another implementation of the invention.

FIG. 3 is an overview of the first menu when creating a layout grid inaccordance with one implementation of the invention.

FIG. 4 is an overview of the second menu when creating a layout grid inaccordance with one implementation of the invention.

FIG. 5 is a flowchart showing the procedure for creating a layout gridin accordance with one implementation of the invention.

FIG. 6 is an overview showing the layout grid created in accordance withone implementation of the invention.

FIG. 7 is a flowchart showing the procedure for selecting between anembox and ICF box for the base of a layout grid in accordance with oneimplementation of the invention.

FIGS. 8A through 8D are all overviews showing the states for setting thegrid starting point in accordance with one implementation of theinvention.

FIG. 9 is an overview showing the frame grid created in accordance withone implementation of the invention.

FIGS. 10A through 10F are all overviews showing various frame gridconfigurations that can be created in accordance with one implementationof the invention.

FIG. 11 is a flowchart showing the procedure for creating a frame gridin accordance with one implementation of the invention.

FIG. 12 is a flow chart linked to FIG. 11.

FIGS. 13A and 13B are flowcharts showing specific routines in theflowcharts of FIGS. 10 and 11.

FIG. 14 is a flowchart showing a specific routine in FIGS. 11 and 12.

FIG. 15 is a flowchart showing a specific routine in FIGS. 11 and 12.

FIG. 16 is a flowchart showing a specific routine in FIGS. 11 and 12

FIG. 17 is a flowchart showing the procedure when changing the framegrid dimensions in accordance with one implementation of the invention.

FIGS. 18A through 18D are each overviews showing the adjusted status ofanchor points in accordance with one implementation of the invention.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

FIG. 1 is a diagram showing an electronic typesetting DTP system inaccordance with one implementation of the invention. DTP system 1 has aDTP processing control device 2, which can perform electronictypesetting and layout editing, etc.; a display device 3, which candisplay the data being processed; an input means 5 for inputting varioustypes of data such as graphics, text, control instructions, etc.; and anoutput means 6 for outputting processed data. DTP processing controldevice 2 has a typesetting and layout control means 2 a, which performstypesetting and layout control, and a font file 2 b, which stores thefont information, that is, the attributes of text to be output to adisplay or to a printer, etc. Font file 2 b has in particular a CJK font8, which is a font for ideographic characters such as Japanese, Chinese,Korean, etc. In addition, according to one aspect of the invention,typesetting and layout control means 2 a has a layout grid processing(creation/control) means 4. The layout grid processing means makes itpossible to process (create or control) a layout grid for each page ofan electronic document in order to display a plurality of characters orgraphic objects on display device 3 and to efficiently performelectronic typesetting and layout operations. In addition, according toanother aspect of the invention, typesetting and layout control means 2a has a frame grid processing (creation/control) means 7, which makes itpossible to display a plurality of characters or graphic objects ondisplay device 3 and efficiently perform electronic typesetting andlayout operations, particularly arranging a plurality of characters at adesired location in a desired arrangement.

Display device 3 can consist of various types of display devices such asa CRT or LCD, etc. Input means 5 can include a keyboard, pointing device(mouse, track ball, track pointer, etc.), scanner, transmissioninterface, etc. Output means 6 can include a printer, external storagedevice, etc. DTP processing control device 2 may include a processorsuch as a CPU, etc., or a memory, or an electronic typesetting andlayout control program, etc. that includes a layout grid processingroutine and/or a frame grid processing routine that is loaded into thememory and is processed. On the other hand, DTP processing controldevice 2 can also be constituted in part or in whole as hardwareconstituted as firmware.

FIG. 2 is a block diagram showing a DTP system 10 provided with theinventive layout grid processing (creation/control) mechanism and framegrid processing (creation/control) mechanism, constituted by applyingthe first implementation of the invention to a general-purpose computersystem. That is, system 10 shown in FIG. 2 has a CPU 11, a memory 12, aCRT 13, a hard disk 14, a keyboard 15, a mouse 16, a CD-ROM drive 17, aFD drive 18, and a printer 19. These units are coupled and work togethervia a bus 9. In electronic editing in accordance with the invention, alayout grid processing (creation/control) program 4′ and a frame gridprocessing (creation/control) program 7′ are routines that form a partof a typesetting and layout control program 2 a′ together with otherelectronic editing programs, and are installed in system 10 via CD-ROMdrive 17 or FD drive 18, and stored on hard disk 14, for example. Inaddition, font file 2 b can also be stored on hard disk 14. Then, whenthe electronic typesetting and layout control program that includes thislayout grid processing program 4′ and/or frame grid processing program7′ is started by a user operating keyboard 15 or mouse 16, the programis loaded into memory 12 as shown in FIG. 2. Therefore CPU 11 and layoutgrid processing program 4′ and frame grid processing program 7′ loadedinto memory 12 coexist and constitute layout grid processing means 4 andframe grid processing means 7, respectively. In one aspect, theinvention provides a computer-readable recording medium (for example,CD-ROM, FD, tape, semiconductor memory, etc.) storing at least one ofeither layout grid processing program 4′ and frame grid processingprogram 7′ so that a general-purpose computer system can be convertedinto a DTP system providing at least one of either the inventive layoutgrid processing function and the frame grid processing function.

Next, the layout grid processing (creation/control) function inaccordance with one implementation of the invention will be explainedwith reference to FIGS. 3 through 8. Furthermore, the layout grid (knownas a page grid) of the invention provides reference lines when arrangingtext or objects such as graphics at a specified location on each page ofan electronic document that is displayed on a display device, such as aCRT or LCD, etc, in electronic typesetting and layout operations.Referring to the layout grid, a user can arrange the desired object atthe desired location. The layout grid is basically vertical referencelines and horizontal reference lines displayed on the screen of adisplay device, and the user arranges the desired object while referringto these reference lines. When arranging an object on the layout grid,the user can also create a frame on the layout grid and includecharacters or graphics in this frame, and to position the frame and thedata contained therein at the desired location on a page by manipulatingthe frame. Also, in this case, if a plurality of attraction points(known as snap points) that are provided in the layout grid areactivated, they attract attraction points provided in the frame grid,and the frame can be positioned at a predetermined location on thelayout grid.

FIG. 6 shows part of the screen display when operating the electronictypesetting and layout control function in accordance with oneimplementation of the invention, for example, when the display device 3of FIG. 1 is the CRT 13 of FIG. 2. That is, an electronic document 122is displayed on a screen 121 as an editing form, and layout editing andtypesetting of various types of page structural elements (known asobjects) is performed thereon. Electronic document 122 can be displayedon screen 121 by clicking with a mouse on “file,” 125 a, for example, ina menu bar 125 displayed along the top edge of screen 121, and selecting“new document”. Furthermore, only one page is displayed in the exampleshown in the drawing, but electronic documents with a plurality of pagescan be created.

In one implementation of the invention, when a user clicks “file” 125 aand selects “new document” in a displayed pulldown menu, beforedisplaying electronic document 122 on screen 121, a “new document”dialog box 20 is displayed to the user as the first menu as shown inFIG. 3. First menu 20 shown in FIG. 3 displays only the parametersneeded to explain the invention, and can include other parameters thanthese as desired. First menu 20 in this example shows a case in whichthe number of pages is “1”, the page dimensions are “letter”, its widthis “51p0” and its height is “66p0”. Furthermore, if the“number”+“p”+“number” expression in the first menu is “3p6”, forexample, it means 3 pica 6 points, and in this case 51p0 means thenumber is equal to a value of 612 points. Furthermore, this value canalso be expressed in “points”, “mm”, “inches”, etc., of course, and canbe set in the unit that is preferred by the user.

In addition, what is important in first menu 20 in the form of thedialog box of FIG. 3 is that the dialog box provides buttons forselecting “layout grid” mode and “margin/column” mode to create adocument. As indicated by the dotted line surrounding the “layout grid”button, “layout grid” mode is set as the default selection. Therefore,if the user presses the return key, for example, in the state shown inFIG. 3, a new document is created in “layout grid” mode. On the otherhand, if selecting “margin/column” mode, the user first selects the“margin/column” button with a mouse, or presses a specified key toselect “margin/column” mode, and then presses the return key, forexample, and a new document is created in “margin/column” mode.Furthermore, in this “margin/column” mode the user needs to calculateand set an appropriate value for margins on the page of the electronicdocument, so this resembles the mode when creating a new document in aconventional electronic document. Therefore a detailed explanation ofthe “margin/column” mode will not be given here.

When a user presses the return key with the first menu 20 of FIG. 3 setas described above, “layout grid” mode is selected and second menu 21,with the dialog box format shown in FIG. 4, is displayed on the screenof the display device. The second menu 21 of FIG. 4 also displays onlythe parameters that are particularly important for the invention; ofcourse it is possible to add other appropriate parameters to second menu21. The second menu 21 shown in FIG. 4 shows that it is possible to setparameters such as “orientation”, “font”, “dimensions”, “intercharacterspacing”, “character scale”, “line scale”, “interline spacing”, etc. asgrid settings. In this case “orientation” refers to the attributedescribing whether the plurality of cells constituting the layout gridhas text written horizontally or written vertically. The text is“horizontal” in the example shown in the drawing, so the layout grid isa layout grid for horizontal writing, while if “vertical” were set, alayout grid for vertically written text would be formed. Next, font(“Ming-Dynasty style” in this example), dimensions (“12 point” in thisexample), intercharacter spacing (also known as “character spacing”;“0pt” in this example, i.e. zero space between characters), andcharacter scale (“100%” in this example) are parameters that determinethe horizontal positioning and dimensions of the plurality of cells inthe layout grid. Also shown as grid settings are line scale (“100%” inthis example) and interline spacing (also known as “line spacing”; “6pt”in this example, i.e. 6 points); these parameters determine grid cellspacing and vertical dimensions.

In addition, in the second menu 21 of FIG. 4. the number of characters(“45” in this example), number of lines (also known as line number; “40”in this example), number of columns (“1” in this example), and gutter(“1p0” in this example) are set as line and column setting items.“Number of characters” is the number of characters in one line (i.e., a“line”), and thus the number of grid cells. “Number of lines” is thenumber of lines in the layout grid. “Number of columns” is the number ofcolumns, and is the region within the layout grid divided by a “gutter”(also known as “intercolumn spacing”). In the example shown in thedrawing, the number of columns is “1”, so there is no gutter in thelayout grid. Therefore in this example the gutter value “1p0” is in factnot applied.

Next, in second menu 21 shown in FIG. 4, it should be noted that “gridstarting point” is provided as a setting item. “Top”, “bottom”,“outside”, and “inside” are provided as setting items for the gridstarting point, and it is possible to set the appropriate values witheach setting item. The “grid starting point” item determines thearrangement and position of the layout grid on the page. “Grid startingpoint” is ideally embedded in second menu 21 in pulldown menu format,and the example shown in this case is a combination of “top/outside”,but other possible combinations include “top/inside”, “bottom/outside”,“bottom/inside”, etc., and in addition selection branches such as “topbottom centered”, “left right centered”, “top bottom left rightcentered”, etc. can be provided. This grid starting point can beincluded in one layout grid setting item in second menu 21, so a layoutgrid can be formed on a page without the necessity of the usercalculating margins; this point will be described later in additionaldetail.

FIG. 5 is a flowchart showing the processing flow in the layout gridformation method in accordance with one implementation of the invention.First, step S1 identifies whether or not the user selected “newdocument”. For example, as described earlier, the user starts theelectronic typesetting and layout processing function and clicks on“file” 125 a displayed on screen 121 of the display device as shown inFIG. 6, and a pulldown menu is displayed from which the user selects“new document”. In this case the decision result in step S1 isaffirmative, and first menu 20 in the dialog box format shown in FIG. 3is displayed (step S2). When the new document parameters are set infirst menu 20 (step S3) and a new document is created on screen 121(step S4), either layout grid dialog box 21 (step S6) or a margin/columndialog box (step S9) is opened as the second menu according to the modeselected in first menu 20. As explained earlier, if the layout grid modeis selected, layout grid dialog box 21 is opened as the second menu, andthe setting items for the layout grid itself are set (step S7). In thiscase only the parameters determining the contents of the layout griditself are set; the user does not need to calculate the margins and soforth surrounding the layout grid. In this implementation of theinvention, the margin is determined as the portion of the page remainingafter setting the contents of the layout grid. In this manner a layoutgrid is formed on each page of the document. On the other hand, if“margin/column dialog box” is selected (step S9), it is necessary tocalculate the margins at the top and bottom and left and right sides ofthe page and set the appropriate values (step S10).

In this manner, layout grid 123 is formed on page 122 of an electronicdocument as shown in FIG. 6. In the example shown in the drawing, layoutgrid 123 is a manuscript paper format for horizontal writing, but it isalso possible to constitute grids with a variety of formats, such asmanuscript paper for vertical writing, graph paper format, etc. Forexample, if interline spacing were set as zero in layout grid 123 inFIG. 6, a grid structure with a graph paper format would be produced. Inaddition, in the FIG. 6 implementation the intercharacter spacing is setas zero, but if the intercharacter spacing were set as a value largerthan zero a gap would be formed between pairs of adjacent cells arrangedwithin each line. In this manner layout grids can be formed with variousstructures by suitably setting parameters such as interline spacing andintercharacter spacing and the like in the layout grid. Layout grid 123usually is constituted as a grid structure using a plurality of verticallines and a plurality of horizontal lines, thereby demarcating aplurality of grid cells. Each grid cell is basically square, butrectangular cells can be obtained. One character can be assigned to eachgrid cell. Therefore layout grid 123 can be used as a reference whenassigning a plurality of characters to a page.

Incidentally, as shown in FIG. 6, other menu items can be provided ondisplay device screen 121 in addition to “file” 125 a in menu bar 125,such as “edit” 125 b or “layout” 125 c, etc. For example, if “edit” 125b is selected, a pulldown menu is displayed and it is possible to copythe data currently being processed. In addition, if “layout” 125 c isselected, a pulldown menu appears, and a layout grid setting menu indialog box format is displayed on the pulldown menu, for example, andappropriate values can be set. In addition, a tool box 126 is displayedon screen 121 in FIG. 6. A number of tools that can implement variousfunctions the user desires, as indicated by the various icons, areincluded in tool box 126. In particular, to explain tools related to theinvention, frame grid creation tool 126 c for the vertical writingmanuscript paper format and frame grid creation tool 126 b for thehorizontal writing manuscript paper format are provided.

When the user uses the mouse and clicks frame grid creation tool 126 bfor the horizontal writing manuscript paper format in tool box 126, andthen drags the mouse diagonally across the desired length on screen 121,the user can create a frame grid that has the same attributes andstructure as layout grid 123 on layout grid 123. Then a plurality ofcharacters can be arranged in a specified arrangement within this framegrid, the frame grid can be arranged at the desired location on thelayout grid, and layout processing can be performed. A frame grid formedon layout grid 123 in this manner can be selected by the user clickingselection tool 126 a with the mouse and then clicking on the desiredframe grid with the mouse.

In addition, as shown in FIG. 7, the inventive layout grid 123 can seteach grid cell to be the same size as the embox or ICF box for the fontand dimensions selected for that layout grid. Therefore, in the layoutgrid 123 in accordance with the invention the user can select to basethe grid cells on an embox or an ICF box. Furthermore, if the selectedfont dimensions are 12 points, for example, the embox is an essentiallysquare outer frame with both a width ; and a height of 12 points, andcorresponds to a so-called “imaginary body”. In addition, with ICF box(also known as “ideographic character face”) the selected font is anaverage bounding box. That is, one character of a given font has a glyphwhich constitutes that character, but there is a rectangular frame thatis nearly square defined by the pair of horizontal lines which touch thetop and bottom of that glyph and by the pair of vertical lines whichtouch the farthest right side and the farthest left side of the glyph,and the frame is positioned inside the embox. In a specific font thebounding box is different for each character, but what is determined asthe average bounding box for that font is the ICF box. In particular,typesetting of CJK fonts is conventionally performed by making the top,the bottom, or the middle of the embox a coordination point andcoordinating this coordination point with a reference line. However, forcertain fonts, when the characters are large, the appearance issometimes better when characters are coordinated and arranged using thebottom of ICF boxes instead of the bottom of emboxes. Therefore,depending on the type or dimensions of the characters to be laid out, itis sometimes better to base layout grid 123 on ICF boxes instead ofemboxes. The flowchart shown in FIG. 7 shows that the layout grid 123can be selectively based on an embox or an ICF box. Furthermore, to bespecific, a procedure can be provided for selecting embox/ICF box as oneitem in a pulldown menu under “file” 125 a in menu bar 125, for example.

Next, a procedure for creating a layout grid referenced on the gridstarting point, which is another feature of the invention, will beexplained with reference to FIGS. 8A-8D. FIGS. 8A-8D are all examples ofcreating layout grids in each page of a two-page double-page electronicdocument. In FIG. 8A the grid starting point is “top/inside” mode, andis a case in which the grid starting point is set 1.5 cm, for example,from the inside, and 2 cm, for example, from the top of the page (i.e.,from the “node”). In this case the user does not set “bottom” and“outside”. In FIG. 8B the grid starting point is “bottom/inside” mode,and is a case in which the grid starting point is set 1.5 cm, forexample, from the inside (i.e., node), and 2 cm, for example, from thebottom of the page. In this case “top” and “outside” are not set by theuser. Next, FIG. 8C is a case in which “top bottom centered” is set asthe grid starting point with “outside” set as 1 cm, for example; inside,top, and bottom are not set by the user. In addition, FIG. 8D is a casein which “left right centered” is set as the grid starting point with“top” set as 3 cm, for example; in this case inside, outside, and bottomare not set by the user. In this way, according to this aspect of theinvention, when determining the dimensions of the layout grid the usersimply sets a setting item on a menu in the form of a layout grid boxand does not need to calculate margins at the top and bottom and leftand right sides of the page in an electronic document. The margins of apage are automatically determined as the region remaining on the pagearound the set layout grid. Therefore, in practice, the user can simplystudy the layout grid region where layout or typesetting operations areto be performed and set an item demarcating that region, and does notneed to do troublesome margin calculations. This greatly simplifies theprocedure for creating a layout grid and greatly improves the ease ofusing an electronic typesetting and layout program.

Next, the frame grid processing technology in accordance with anotheraspect of the invention will be explained. A frame grid is an objectcomprising a frame—i.e., a frame itself—and the grid contained therein.Typesetting and layout processing is performed by arranging charactersin a specified arrangement inside a plurality of grid cells demarcatedby a grid and arranging the grid frame at a specified location on layoutgrid 123 as explained previously. That is, as shown in FIG. 9. the framegrids 30 and 31 in accordance with the invention have a basicallyrectangular shape, and comprise a plurality of grid cells forming a gridtherein. One character can be positioned in each grid cell. Frame grids30 and 31 are arranged on layout grid 123, and can be moved to thedesired location by selecting and dragging the desired frame grid usingselection tool 126 a in tool box 126, for example. In this case layoutgrid 123 can be moved while keeping the stance pictured in frame grids30 and 31, and additionally, when the attraction (snap) mode is on, theframe grid moves while being sporadically attracted to a plurality ofattraction points provided on layout grid 123.

In the example shown in FIG. 9, frame grid 30 is a horizontal writinggrid formed by dragging grid tool 126 b, and frame grid 31 is a verticalwriting grid formed by dragging grid tool 126 c. Furthermore, frame grid30 is selected by clicking with selection tool 126 a, for example, andthis status is indicated by the appearance of eight handles (also knownas “control points”) 32 a-32 h on the frame of frame grid 30. Theseeight handles can act as attraction points to be attracted to attractionpoints on layout grid 123 when moving frame grid 30 on layout grid 123,for example. In addition, they can act as points for changing thedimensions of the frame grid. Frame grid 31 is not selected, so itseight handle points are concealed.

These frame grids 30 and 31 can be formed by selecting grid formationtools 126 b and 126 c in tool box 126 and dragging them on layout grid123, and in this case, according to the invention, their grids areformed in complete coordination with their frames, as shown in FIG. 9,when frame grids 30 and 31 are formed. In other words, when formingframe grids 30 and 31, the frame itself matches the periphery of theoutermost cells of the plurality of grid cells that the frameencompasses, and does not partially intersect any cell. In addition, ina preferred implementation of the invention, when frame grids 30 and 31are formed the default is to form them by inheriting the attributes oflayout grid 123 (this too constitutes one feature of the inventive framegrid). Therefore, as shown in FIG. 9, layout grid 123 is for horizontalwriting, so frame grid 30 for horizontal writing has a configurationthat perfectly matches part of the layout grid. Furthermore, whencreating frame grid 30, there are instances in which the position offrame grid 30 is not perfectly coordinated with the position of layoutgrid 123 due to the track through which the user drags it on layout grid123. Nevertheless, if attraction mode has been set, frame grid 30 isattracted by layout grid 123 and its position is perfectly coordinatedwith that of layout grid 123 as shown in FIG. 9 by selecting the formedframe grid 30 with selection tool 126 a and moving the frame grid overlayout grid 123. Therefore, as shown in the frame grid 30 of FIG. 9,frame grid 30 is perfectly coordinated with the position of layout grid123, so when characters are entered in frame grid 30 the characters arearranged in the respective grid cells of frame grid 30, and the user canimmediately decide if the layout is good or bad.

Furthermore, vertical writing frame grid 31 does not perfectly coincidewith layout grid 123 since layout grid 123 is for horizontal writing.That is, in layout grid 123 the intercharacter spacing is zero in eachline (line), but the interline spacing (line spacing) between adjacentlines is set as a specific positive value. Frame grid 31 is differentfrom layout grid 123 with regard to vertical writing but otherwise hasthe same attributes, so frame grid 31 is in the same state as if part oflayout grid 123 were rotated 90°. Therefore if layout grid 123 isrotated 90° and set for vertical writing, vertical writing frame grid 31will match perfectly.

In addition, as described earlier, the dimensions of each frame grid 30and 31 can be changed by holding any one of handles 32 a-32 h, butaccording to another feature of the invention, even if the dimensions offrame grids 30 and 31 are changed in this way the interior frame isalways automatically corrected in the post-change frame grid, and theframe grid's frame and grid are always kept in a coordinated state. Thisachieves very striking effects in performing frame grid layoutoperations on layout grid 123.

In addition, according to another aspect of the invention, once framegrids 30 and 31 have been created their attributes (nearly the samesetting items as the setting items of layout grid 123 etc.) can be namedand stored in the memory in table form, and later appropriate selectionscan be made from the table and the previously set frame grid attributescan be used to create a new frame grid that has the same attributes. Inaddition, a special named grid called the “layout grid” is stored inthis table, and if the layout grid is selected frame grids can becreated according to the layout grid attributes of the correspondingpage. In this case, for example, in an electronic document with aplurality of pages, if a different layout grid is set for each page andlayout processing is performed in sequence for each page, simply byselecting the “layout grid” named grid for each page, frame grids areautomatically formed that have the same attributes as that page, solayout operation efficiency is dramatically increased.

Next, another aspect of the inventive frame grid will be explained withreference to FIGS. 10A-10F. A feature of the frame grid is that variousgrid structures that are the same as the layout grid can be set. First,to explain the case shown in FIG. 10F, two columns 31 a and 31 b are setin frame grid 31, and a gutter (intercolumn spacing) 31 c is set betweenthem. Three lines (lines) are set in the upper column, column 31 a,while two lines are set in the lower column 3 b. Three grid cells areset in each line in upper column 31 a, and two grid cells are set ineach line in lower column 31 b. Intercharacter spacing (characterspacing) 31 f is set between adjacent pairs of grid cells in each line,and interline spacing (line spacing) 31 g is set between adjacent pairsof lines. Each grid cell has height 31 d and width 31 e, and these areusually the same, so each grid cell is essentially square in shape. Inaddition, as is the same with the layout grid, each grid cell can bebased on either an embox or an ICF box.

FIG. 10A shows a frame grid for horizontal writing having two columns,left and right, and FIG. 10B shows the frame grid with eight handles(control points) appearing on the frame when the frame grid is selected.In addition, FIG. 10C is a frame grid when interline spacing andintercharacter spacing are set to the same value, and FIGS. 10D and 10Eare frame grids 31 for vertical writing; FIG. 10D has one row and FIG.10E has two rows. In this way the invention's frame grids 30 and 31 cantake various configurations, so the layout operation is very efficientand can provide a multiplicity of forms.

Next, referring to FIGS. 11 through 16, the procedure for processing theframe grid so that frame and grid are automatically coordinated whencreating a grid frame in accordance with the invention will beexplained. As shown in FIG. 11, first, the procedure detects that theuser flat selected grid tool 126 c or 126 b (step S20). Next, theprocedure detects the user's cursor click (step S22), and it sets the XYposition of the cursor at that time as the anchor point for the newframe grid (step S23). Next, the procedure decides whether or not anamed grid in the named grid palette stored as a table in memory asdescribed earlier was selected by the user (step S24). If the decisionresult is affirmative, the procedure acquires the attributes of thecurrent document's default grid (step S25), and acquires the settingvalues for the default frame inset (margin), number of columns (column),and gutter (intercolumn spacing) (step S27). On the other hand, if thedecision result in step S24 is negative, the procedure decides whetheror not the layout grid in the named grid palette is selected (step 26),and if affirmative, the procedure acquires the selected named grid'sgrid attributes (step S28), and moves to the previously described stepS27. On the other hand, if the decision result in step S26 is negative,the procedure acquires the current page number (step S29), and thenacquires the attributes of the layout grid for the current page (stepS30), and subsequently moves to the previously described step S27.

Next, as shown in FIG. 12, the procedure decides whether or not the userdragged the cursor (step S31), and if the cursor was dragged, theprocedure tracks the cursor position (probe point) relative to theanchor point (step S32). Next, the procedure checks whether the gridtool selected by the user is vertical (for vertical writing) orhorizontal (for horizontal writing) (step S33). If the grid tool isvertical (step S34), vertical grid tool processing (step S36) isperformed, and if the grid tool is horizontal (step S35), horizontalgrid tool processing (step S37) is performed. For vertical grid toolprocessing, as shown in FIG. 13A, leading (point dimensions+interlinespacing) is set as hSpacing (step S51), character escapement (pointdimensions+intercharacter spacing)×number of columns is set as vSpacing(step S52), interline spacing is set as hExtraSpace (step S53), andintercharacter spacing×number of columns−gutter width×(number ofgutters−1) is set as vExtraSpace (step S54). On the other hand, as shownin FIG. 13(B), for horizontal grid tool processing, character escapement(number of points+intercharacter spacing)×number of columns is set ashSpacing (step S55), leading (number of points+interline spacing) is setas vSpacing (step S56), intercharacter spacing×number of columns−gutterwidth×(number of gutters−1) is set is hExtraSpace (step S57), andinterline spacing is set as vExtraSpace (step S58).

Next, referring to FIG. 12, anchor point adjustment processing isperformed (step S38). This is shown in FIG. 14 where, first, the valuefor hExtraSpace from the previous step becomes the initial value, and(left inset+right inset) is subtracted therefrom to determine the newhExtraSpace (step S61). Next, in the same manner, the value forvExtraSpace from two steps previous becomes the initial value, and (topinset+bottom inset) is subtracted therefrom to determine the newvExtraSpace (step S62). Next, the probe point's X coordinate value,Probe.X, and the anchor point's X coordinate value, Anchor.X, arecompared (step S63). and if Probe.X is larger than Anchor.X, hExtraSpaceis subtracted from Anchor.X (step S64), while if Probe.X is less thanAnchor.X, hExtraSpace is added to Anchor.X (step S65). Then the sameprocessing is performed on the respective Y coordinate values of theprobe point and the anchor point (steps S66-S68).

Returning to FIG. 12, the flow shifts to step S39, where the Probe.Xdetermination processing shown in FIG. 15 is performed, and then theflow shifts to step S40 in FIG. 12, and the Probe.Y determinationprocessing shown in FIG. 16 is performed. Furthermore, the Probe.Xdetermination processing procedure (steps S71-S76) in FIG. 15 and theProbe.Y determination processing procedure (steps S81-S86) in FIG. 16are simple calculation procedures, and are obvious from the flowchartsin FIG. 15 and FIG. 16, so a detailed explanation thereof will beomitted. Next, the flow shifts to step S41 in FIG. 12, and the proceduredecides whether or not the mouse button was released by the user. If theresult is negative the flow returns to step S31 and the FIG. 12procedure is repeated again. On the other hand, if the mouse button wasreleased, the procedure in FIG. 12 ends, and as a result frame grid 30or 31 is created on layout grid 123. In this case, as described above,the relative positional relationship between the anchor point (theinitial cursor position) and the probe point (the cursor position aftermovement) and the attributes of the frame grid to be created arecomprehensively checked, so if the user releases the mouse button and aframe grid is created, that frame and grid are formed in a perfectlycoordinated state.

Next, with reference to FIG. 17. the procedure for keeping frame andgrid always automatically coordinated in accordance with the invention,even if the dimensions of the frame grid are changed once the frame andgrid has been created, will be explained. Furthermore, in this casethere are many routines that duplicate the routines for creating the newframe grid described earlier, so a shared flowchart will be substitutedfor the duplicate routines.

First, as shown in FIG. 17, the procedure determines which control pointP1-P8 (these correspond to 32 a-32 h, respectively, in FIG. 10(B)) theuser clicked of the eight control points (handles) on the frame grid(steps S91, S92). The flow determines which frame grid the user istrying to change the dimensions of, or which handle (control point) ofthe frame grid the user is dragging. Furthermore, “control point” hererefers to the handle (control point) the user is currently selecting andholding and moving. The next steps, S93 and S94, acquire data regardingthe grid inside the frame grid (attributes pertaining to character pointdimensions, intercharacter spacing, etc.) and data regarding other frameattributes that determine where a cell is located within a frame. Inparticular, data regarding number of columns, gutter dimensions (spacebetween two columns, i.e. intercolumn spacing), inset (space betweenframe boundary and text region within the frame, i.e. frame margin),etc. At this point in time the unknown parameter is the final framedimensions. That's because the user is in the process of moving theframe's control point and changing the frame dimensions.

Next, the flow shifts to step S95, and the procedure decides whether ornot the user dragged the cursor. If the result is affirmative, the flowshifts to step S96, and the procedure tracks the cursor position (probepoint) relative to the anchor point. Furthermore, “anchor point” here isthe control point (handle) on the frame relative to the probe pointmoved by the user. Therefore, if the user makes one of the four cornersof a frame the probe point, the corner diagonally opposite it is theanchor point. And if the user selects a side handle (32 b, 32 d, 32 f,32 h) instead of a comer, the anchor point is the handle on the oppositeside of the frame.

Next, the flow shifts to step S97, and the procedure determines if theframe orientation is horizontal (for horizontal writing) or vertical(for vertical writing). If the frame orientation is vertical (step S98),the leading (i.e., the distance between the top of one line and the topof the next line) must be considered in order to know the position ofcells in that direction as the cursor moves horizontally. When thecursor moves vertically the character escapement (i.e., the distancebetween the top of one cell and the top of the next cell on the sameline) must be considered, but that must be multiplied by the number ofcolumns defined for that frame. Character escapement is the same integeras the number of columns, but the number of characters per column andthe number of lines per frame change when changing the frame dimensions.

Next, to explain about hExtraSpace and vExtraSpace in vertical grid toolprocessing (step S100) and horizontal grid tool processing (step S101),if the cursor moves horizontally and the frame is vertical—that is, forvertical writing—when the final line is reached that interline spacing(line spacing) must be cancelled since there is no interline spacingafter the last line of the frame. Therefore hExtraSpace=interlinespacing.

Similarly, there is no intercharacter spacing after the final characterin a column, so the character becomes “intercharacter spacing×number ofcolumns”, and the character constitutes part of the vExtraSpace formulafor a vertical (vertical writing) frame. Another part of the vExtraSpacecalculation for a vertical frame subtracts the width of all the gutters(intercolumn spacing) in the frame. Within a frame the total number ofgutters (intercolumn spacing) is always smaller than the total number ofcolumns, so the calculation is “gutter width×(number of columns−1)”.

Next, the flow shifts to step S102 in FIG. 17. Here, when the anchorpoint becomes known, the control points must be adjusted with regard tothe non-existing line and character spacing, gutters, and insets. Next,the flow shifts to step S103 in FIG. 17, and the anchor point adjustmentprocessing shown in FIG. 14 is performed. That is, steps S61 and S62 ofFIG. 14 takes into account the frame region that is dominated by frameinsets (margins). When the cursor moves horizontally, it is necessary toconsider the left and right insets (step S61), whereas when the cursormoves vertically it is necessary to consider the top and bottom insets(step S62). The following step, S63, is a step that determines whichdirection the cursor is moving. The user can grab the bottom rightcorner of the frame and drag the corner that the comer becomes the topleft corner of the frame. The decision result of step S63 clarifieswhether the Anchor.X point should be close to or distant from the probepoint. Later the same applies to Probe.Y. Next, the flow shifts toadjusting Anchor.X. In this case, it should be noted that the actualcontrol point on the frame is not adjusted. The ultimate object ismerely to perform calculations so that the probe point determines thesnap (attraction) sites.

The size of the space dominated by “non-existent spacing”, insets, andcolumn gutters created by the presence of columns has been determined,so by moving the Anchor.X position that space can be reserved. Next,when the distance the user has moved the cursor becomes known(hDistance), hExtraSpace is subtracted from hDistance, and the result isequal to the size of the space wherein cells can be equally arrangedaccording to the point dimensions and intercharacter spacing(incidentally, space for gutters, insets, etc. is already reserved, sothose do not have to be the first things considered). Therefore thecursor (probe point) is attracted (snapped) to the appropriate location,and the frame is drawn.

Next, to explain step S104 and S106 in FIG. 17, when changing thedimensions of a frame these steps indicate procedures to determine ifthe change is horizontal, vertical, or in both directions. If the userselects a control point other than P2 or P6 on a frame (i.e., other than32 b, or 32 f in FIG. 10(B)) the frame's dimensions are being changed inthe horizontal direction, so the cursor needs to be restricted toallowed positions in that direction (the frame is coordinated with gridd). On the other hand, if the user selects any point in step S106 (i.e.,other than 32 d and 32 h in FIG. 10(B)), this means the frame'sdimensions are being changed in the vertical direction, so the cursorneeds to be restricted to allowed positions in that direction.

Next, the Probe.X determination processing (step S105 in FIG. 17) isshown in FIG. 15. First, the horizontal distance moved by the cursor isdetermined in step S71. Next, step S72 decides whether or not thisdistance is larger than the distance determined by the hExtraSpacecalculation formula. If the distance is not larger than the distancedetermined by the hExtraSpace calculation formula, the probe point isset at the location of the original anchor point since there is notenough room to draw the narrowest frame. In other words, the user hasnot provided enough space to apply to the number of columns or linesprovided with at least one cell respectively. On the other hand, if thehorizontal distance moved by the cursor is larger than the distancedetermined by the hExtraSpace calculation formula in step S72, thehorizontal moved distance is divided by the previously determined valuefor hSpacing, thus making it possible to calculate the number of gridcells that can be assigned. Next, this grid cell number is multiplied bythe value for hSpacing, and provides the absolute distance which shouldbe measured from the anchor point. This position is the cursorattraction (snap) position. Thus, when the user releases the mousebutton (step S108), the frame dimension change procedure ends.Furthermore, the Probe.Y determination processing procedure in FIG. 16is the same as described above, except that the direction is different.

As described above, even when the frame grid dimensions are changed, theframe and the grid therein are always automatically kept coordinated.

Next, a specific example of changing frame grid dimensions will beexplained with reference to FIGS. 18A through 18D. Frame 40 in FIG. 18Ahas two columns 41, a 4-point gutter (intercolumn spacing), and 8-pointinsets as left and right margins. In addition, the characters are 8points, the intercharacter spacing is 2 points, and the frame is 156points wide. The top left control point of frame 40 is the originalanchor point 40 a, and the bottom right control point is probe point 40b. As shown in FIG. 18B, the user only dragged the probe point distanceL1 (32 points) from X1 to X2. The distance from anchor point to probepoint becomes 188 points. Next, as shown in FIG. 18C, Anchor.X moves +16points in accordance with step S64 in the anchor point adjustmentprocessing procedure. Then overall hExtraSpace=−16 points. That isbecause there are 4 points of spacing (2 points×2 columns), the 4 pointgutter is subtracted from that the 4 points of spacing, the 8 point leftinset is subtracted, and the 8 point right inset is subtracted.Therefore, as shown in FIG. 18D, when hDistance=L2 (172 points) isdivided by hSpacing (character escapement of 20 points because of (8points+2 point spacing)×2 columns), the number of grid cells is 8, so8×20 (hSpacing)=160 points (=L3). Therefore, ultimatelyProbe.X=Anchor.X+160 points. That is, as shown in FIG. 18D. the useractually dragged to point 45, but the cursor actually snaps to point 44.As a result, the frame and grid (cells) therein are kept in acoordinated state.

The invention may be implemented as a typesetting and layout editingcontrol system, as a layout editing control method, or as acomputer-readable recording medium storing a layout grid processingprogram to be executed by a computer in accordance with the invention.

A number of implementations of the invention have been described.Nevertheless, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention.Accordingly, other implementations are within the scope of the followingclaims.

1. A method for controlling typesetting and layout editing, comprising:receiving a user input to create a new electronic document; displaying afirst dialog box having a layout grid mode on a display; creating theelectronic document; displaying a second dialog box that includes usermodifiable values for a plurality of grid parameters for a layout gridfor the new electronic document if the user selects the layout gridmode, the grid parameters including a plurality of parameters fordefining typesetting attributes of the layout grid according to acontent to be typeset; generating one or more layout grids within theelectronic document, where generating the one or more layout gridswithin the electronic document includes: creating a layout grid for apage in the electronic document using user-inputted values for theplurality of grid parameters, the grid parameters defining a gridstarting point and dimensions, the layout grid defining a particulararrangement of grid cells and providing a guide for positioning aplurality of characters for typesetting; and using the grid parametersof the layout grid to determine the margins of the page of theelectronic document, wherein the margins are automatically determined asa region of the page remaining after creating the layout grid and wherethe margins correspond to cell boundaries of the created layout grid;and typesetting the plurality of characters using the definedarrangement of the layout grid.
 2. The method of claim 1, furthercomprising: receiving data to be laid out on the created layout grid. 3.The method of claim 1, wherein the electronic document includes aplurality of pages and a distinct layout grid is created for each pageof the electronic document.
 4. The method of claim 1, wherein the seconddialog box includes one or more user modifiable grid parameters thatdetermine an interline spacing for lines of text laid out on the layoutgrid, where the interline spacing defines a spacing between rows ofcells in the layout grid.
 5. The method of claim 1, wherein the layoutgrid has a plurality of cells, each cell being sized to accommodate onefull-width character, and wherein the cell dimensions are automaticallygenerated to conform to the dimensions of an embox or ICF box for aparticular font selected by a user in the second dialog box.
 6. Themethod of claim 1, further comprising: displaying a user-selectablemargin/column mode on the first dialog box; receiving user inputsdefining margin values for the new electronic document if the userselects the margin/column mode; and creating a layout grid in theelectronic document based on the margin values.
 7. A computer programproduct, stored on a machine-readable medium, comprising instructionsoperable to cause a programmable processor to: receive a user input tocreate a new electronic document; display a first dialog box having alayout grid mode on a display; create the electronic document; display asecond dialog box that includes user modifiable values for a pluralityof grid parameters for a layout grid for the new electronic document ifthe user selects the layout grid mode, the grid parameters including aplurality of parameters for defining typesetting attributes of thelayout grid according to a content to be typeset; generate one or morelayout grids within the electronic document, where the instruction togenerate the one or more layout grids within the electronic documentinclude instructions to: create a layout grid for a page in theelectronic document using the user-inputted values for the plurality ofgrid parameters, the grid parameters defining a grid starting point anddimensions, the layout grid defining a particular arrangement of gridcells and providing that provides a guide for positioning a plurality ofcharacters for typesetting; and use the grid parameters of the layoutgrid to determine the margins of the page of the electronic document,wherein the margins are automatically determined as a region of the pageremaining after creating the layout grid and where the marginscorrespond to cell boundaries of the created layout grid; and typesetthe plurality of characters using the defined arrangement of the layoutgrid.
 8. The product of claim 7, further comprising instructionsoperable to cause a programmable processor to: receive data to be laidout on the layout grid.
 9. The product of claim 7, wherein theelectronic document includes a plurality of pages and a distinct layoutgrid is created for each page of the electronic document.
 10. Theproduct of claim 7, wherein the second dialog box includes one or moreuser modifiable grid parameters that determine an interline spacing forlines of text laid out on the layout grid, where the interline spacingdefines a spacing between rows of cells in the layout grid.
 11. Theproduct of claim 7, wherein the layout grid has a plurality of cells,each cell being sized to accommodate one full-width character, andwherein the cell dimensions are automatically generated to conform tothe dimensions of an embox or ICF box for a particular font selected bya user in the second dialog box.
 12. The product of claim 7, furthercomprising instructions operable to cause a programmable processor to:display a user-selectable margin/column mode on the first dialog box;receive user inputs defining margin values for the new electronicdocument if the user selects the margin/column mode; and create a layoutgrid in the electronic document based on the margin values.
 13. A systemfor controlling typesetting and layout editing, comprising: a desktoppublishing processing control device provided with typesetting andlayout control means for processing data to be laid out; a display fordisplaying data during typesetting or layout processing; and input meansfor a user to supply control instructions to the typesetting and layoutcontrol means the typesetting and layout control means being providedwith a layout grid creation means arranged to: display a first dialogbox having a layout grid mode on a display when creating a newelectronic document; create the electronic document; display a seconddialog box that includes user modifiable values for a plurality of gridparameters for a layout grid for the new electronic document if the userselects the layout grid mode, the grid parameters including a pluralityof parameters for defining typesetting attributes of the layout gridaccording to a content to be typeset; generate one or more layout gridswithin the electronic document, where generating the one or more layoutgrids within the electronic document includes: creating a layout gridfor a page in the electronic document using user-inputted values for theplurality of grid parameters, the grid parameters defining a gridstarting point and dimensions, the layout grid defining a particulararrangement of grid cells and providing a guide for positioning aplurality of characters for typesetting; and using the grid parametersof the layout grid to the margins of the page of the electronicdocument, wherein the margins are automatically determined as a regionof the page remaining after creating the layout grid and where themargins correspond to cell boundaries of the created layout grid; andtypeset the plurality of characters using the defined arrangement of thelayout grid.
 14. A method for controlling typesetting and layoutediting, comprising: displaying a page of an electronic document on adisplay; creating a layout grid in the electronic document, the layoutgrid defining a particular arrangement for positioning individualcharacters of a plurality of characters for typesetting, wherein thegrid parameters define a grid starting point and dimensions; creating aframe grid that includes an interior grid bounded by a frame, theinterior grid having a plurality of cells for laying out the pluralityof characters in the particular arrangement, wherein each cell positionsa single character of the plurality of characters for typesetting theplurality of characters within the interior grid, and wherein theboundary formed by the frame conforms to the periphery of the outermostcells of the plurality of cells and does not intersect any cell of theinterior grid; and positioning the frame grid to overlap a plurality ofcells of the layout grid of the electronic document, includingpositioning the frame grid according to one or more attraction pointsbetween the frame grid and the layout grid, and wherein the interiorgrid is defined according to a plurality of user-inputted gridparameters including parameters for defining typesetting attributes ofthe interior grid according to a content to be typeset.
 15. The methodof claim 14, further comprising: determining the frame grid dimensionsby a user input selecting a grid tool displayed on the display with apointing device and dragging a cursor a specified length on the page;and automatically adjusting the dimensions of the frame grid from theuser input dimensions such that the boundary formed by the frameconforms to the periphery of the outermost cells of the plurality ofcells and does not intersect any cell of the interior grid.
 16. Themethod of claim 15, further comprising: changing the frame griddimensions by a user input selecting a control point on the frame grid,dragging the control point a specified length, and releasing theselection state using the pointing device; and automatically adjustingthe dimensions of the frame grid from the user input dimensions suchthat the boundary formed by the frame conforms to the periphery of theoutermost cells of the plurality of cells and does not intersect anycell of the interior grid.
 17. The method of claim 14, wherein each cellof the plurality of cells has a shape that is substantially square, andwhere each cell conforms to an embox or ICF box corresponding to aparticular character font and character dimensions.
 18. The method ofclaim 14, further comprising: presenting a plurality of named grids forselection, each named grid having specific grid parameter values; andreceiving a user selection of a named grid such that the frame grid iscreated using the grid parameters of the selected named grid.
 19. Themethod of claim 18, further comprising: displaying a named grid palettecontaining a list of names of the plurality of named grids on thedisplay.
 20. The method of claim 18, wherein a layout grid demarcating alayout reference on a page is created on each page of the electronicdocument, and presenting the plurality of named grids includespresenting a named grid named “layout grid”, and wherein in response toa user selection of the “layout grid” named grid a frame grid is createdhaving the grid parameters of the layout grid formed on the page.
 21. Acomputer program product, stored on a machine-readable medium,comprising instructions operable to cause a programmable processor to:display a page of an electronic document on a display; create a layoutgrid in the electronic document, the layout grid defining a particulararrangement for positioning individual characters of a plurality ofcharacters for typesetting, wherein the grid parameters define a gridstarting point and dimensions; create a frame grid that includes aninterior grid bounded by a frame, the interior grid having a pluralityof cells for laying out the plurality of characters in the particulararrangement, wherein each cell positions a single character of theplurality of characters for typesetting the plurality of characterswithin the interior grid, and wherein the boundary formed by the frameconforms to the periphery of the outermost cells of the plurality ofcells and does not intersect any cell of the interior grid; and positionthe frame grid to overlap a plurality of cells of the layout grid of theelectronic document, including positioning the frame grid according toone or more attraction points between the frame grid and the layoutgrid, and wherein the interior grid is defined according to a pluralityof user-inputted grid parameters including parameters for definingtypesetting attributes of the interior grid according to a content to betypeset.
 22. The product of claim 21, further comprising instructionsoperable to cause a programmable processor to: determine the frame griddimensions by a user input selecting a grid tool displayed on thedisplay with a pointing device and dragging a cursor a specified lengthon a page; and automatically adjust the dimensions of the frame gridfrom the user input dimensions such that the boundary formed by theframe conforms to the periphery of the outermost cells of the pluralityof cells and does not intersect any cell of the interior grid.
 23. Theproduct of claim 22, further comprising instructions operable to cause aprogrammable processor to: change the frame grid dimensions by a userselecting a control point on the frame grid, dragging the control pointa specified length, and releasing the selection state using the pointingdevice; and automatically adjust the dimensions of the frame grid fromthe user input dimensions such that the boundary formed by the frameconforms to the periphery of the outermost cells of the plurality ofcells and does not intersect any cell of the interior grid.
 24. Theproduct of claim 21, wherein each cell of the plurality of cells has ashape that is substantially square, and where each cell conforms to anembox or ICF box corresponding to a particular character font andcharacter dimensions.
 25. The product of claim 21, further comprisinginstructions to: present a plurality of named grids for selection, eachnamed grid having specific grid parameter values; and receive a userselection of a named grid such that the frame grid is created using thegrid parameters of the selected named grid.
 26. The product of claim 25,further comprising instructions to: display a named grid palettecontaining a list of names of the plurality of named grids on thedisplay.
 27. The product of claim 25, wherein a layout grid demarcatinga layout reference on a page is created on each page of the electronicdocument, and presenting the plurality of named grids instructions topresent a named grid named “layout grid”, and wherein in response to auser selection of the “layout grid” named grid a frame grid is createdhaving the grid parameters of the layout grid formed on the page.
 28. Acontrol system for typesetting and layout editing, comprising: a desktoppublishing processing control device provided with typesetting andlayout control means for processing data to be laid out; a display fordisplaying a page of an electronic document; and input means for a userto supply control instructions to the typesetting and layout controlmeans; wherein the typesetting and layout control means is provided witha frame grid processing means that provides for creating a frame gridthat includes an interior grid bounded by a frame, the interior gridhaving a plurality of cells for laying out a plurality of characters ina particular arrangement, wherein each cell positions a single characterof the plurality of characters for typesetting the plurality ofcharacters within the interior grid, wherein: the interior grid isdefined according to a plurality of user-inputted grid parametersincluding parameters for defining typesetting attributes of the interiorgrid according to a content to be typeset, and the boundary formed bythe frame conforms to the periphery of the outermost cells of theplurality of cells and does not intersect any cell of the interior grid,and positioning the frame grid to overlap a plurality of cells of alayout grid in the electronic document, including positioning the framegrid according to one or more attraction between the frame grid and thelayout grid.